Non-linear data mapping and dimensionality reduction system

ABSTRACT

This is a system for organizing n-dimensional data onto a lower dimensionality space in a non-linear and non-supervised manner. The types of methods presented here are usually known as self-organizing maps and are similar but not identical to the well known Kohonen self-organizing maps. The basic idea is a combination of data clustering and smooth projection thereof into a lower dimensional space (usually a two-dimensional grid). The proposed system consists of two modified versions of the functional of the well-known Fuzzy c-means clustering algorithm, where the cluster centers or code vectors are distributed on a low dimensional regular grid, for which a penalization term is added with the object of assuring a smooth distribution of the values of the code vectors on said grid. In one of the two cases, the faithfulness to the data is achieved by minimizing the differences between the data and the code vectors, and in the other case, the new functional is based on the probability density estimation of the input data.

OBJECT OF THE INVENTION

[0001] The present invention refers to a nonlinear data mapping and dimensionality reduction system providing essential novel features and significant advantages concerning the known means used for the same purposes in the current state of the art.

[0002] In particular, the present invention is based on a methodological plan for the construction and design of this type of neural network based on different criteria that can be precisely formulated through a mathematically rigorous cost function. Two specific examples will constitute the preferred embodiment of the present invention: one based on a particular modification of the classical Fuzzy c-means clustering algorithm and the other in the formulation of a new functional based on the probability density estimation of the input data. Both functionals include a term explicitly guaranteeing topological ordering on a low dimensional network.

[0003] The application field of the invention is related to the neural networks, particularly to the self-organizing neural networks as well as with the smooth data projection in a lower dimensional space. These types of networks are widely used in the fields of pattern recognition and artificial intelligence.

BACKGROUND OF THE INVENTION

[0004] Neural networks are very useful systems for classifying and recognizing patterns in very large data sets. One of the most widely used types of neural networks are the self-organizing maps (SOM), whose fundamental propellant was Teuvo Kohonen (Self-organized formation of topologically correct feature maps, Biol. Cybernet. 43 (1982) 59-69). This type of neural network tends to simulate the hypothetical self-organization process occurring in the human brain when it is presented with an external stimulus. SOM carries out a mapping (projection) of a set of input data onto a set of output vectors usually distributed in a regular low dimensional network (generally a two-dimensional grid), but this mapping has the peculiarity of being ordered according to the data input features, that is to say it aims to preserve the relative proximity of the input data in the output space.

[0005] The properties of the self-organizing maps make them powerful tools for data analysis in any engineering or science field, permitting processing, visualizing and clustering of large amounts of data. The topology preservation and dimensionality reduction properties make the SOM a necessary method in classifying entities where large numbers and classes of data appear, and where on many occasions, the transition of one class to the other is practically continuous, without a clear separation between them.

[0006] The structure of a SOM type neural network is shown in FIG. 1. Basically, it is composed of two layers: an input layer and an output layer. The input layer is composed of a set of neurons corresponding to each variable or component of the input vector and a set of interconnected output neurons so that it forms a regular grid. The structure of this grid (topology) is arbitrary, although a rectangular or hexagonal topology is generally used. Each neuron has an associated coefficient vector of the same dimension as that of the input data, and it is known as a code vector.

[0007] Mathematically, the Kohonen SOM algorithm can be described as follows:

[0008] Let X_(i)εR^(p), i=1 . . . n denote a p dimension data set and let V_(j)εR^(p), j=1 . . . C denote a set of code vectors. The Kohonen update rule is the following:

i. V _(j,t) =V _(j,t−1)+α_(t) h _(r,t)(X _(i) −V _(j,t−1))  (1)

[0009] where α_(t), represents the learning factor, which is defined as a decreasing function controlling the magnitude of the changes in each iteration t and h_(r,t) is a function controlling the size of the proximity of the nodes (r) to be updated during the training. Both α_(t) and h_(r,t) decrease monotonically during training in order to achieve convergence.

[0010] The SOM functionality can briefly be described as follows: when an input data X_(i) is presented to the network, the neurons in the output layer compete with each other and the winning neuron V_(j), whose value is most like the input data, as well as a set of neighboring neurons, update their values. This process is repeated until a stop criteria is met, usually, when the neuron values are stabilized or when a determined number of iterations is reached.

[0011] The SOM method is rather simple in its description and practical implementation. However, despite its long history and widespread use, its theoretical properties are still not completely known. Basically, only the particular case of one dimensional input and output spaces has been fully worked out mathematically. Informally it could be said that the SOM algorithm usually works very well, but it is not completely understood as to why.

[0012] The main attempts for the theoretical understanding of the SOM algorithm have been based on the solution to the following inverse problem: “Find the functional (or cost function) whose numerical optimization corresponds to the SOM algorithm”. For example, several authors have proposed the SOM algorithm analysis in terms of a system of energy functional study and theoretically explain SOM. It has been shown that the SOM training mechanism is equivalent to minimizing a set of energy functionals subject to restrictions, thus explaining the ability of SOM to form topologically correct maps (H. Ritter, K. Schulten, Kohonen's self-organizing maps: exploring their computational capabilities, Proc. IEEE Int. Joint Conf. On Neural Networks, San Diego, USA, 1988, pp. 109-116., V.V. Tolat, An analysis of Kohonen's self-organizing maps using a system of energy functionals, Biol. Cybernet. 64 (1990) 155-164., T. Kohonen, Self-organizing maps: optimization approaches, in: T. Kohonen, K. Mäkisara, J. Kangas, O. Simula (Eds.), Artificial Neural Networks, Vol. 2, pp. 981-990, North-Holland, Amsterdam, 1991., E. Erwin, K. Obermayer, K. Schulten, Self-organizing maps: ordering, convergence properties and energy functionals, Biol. Cybernet. 67 (1992) 47-55. In spite of the huge effort of many authors in this sense, the general problem remains unsolved.

[0013] Due to the difficulties in finding a solid theoretical explanation to the Kohonen algorithm, some research groups have developed other procedures differing from SOM but based on the same idea of trying to map data from a high dimensionality space to another low dimensionality space, conserving the topological structure of the data. The methodology used for the development of these new algorithms is based on the optimization of well-defined cost functions, contrary to SOM. This approach permits a complete mathematical characterization of the mapping process. For example, Graepel et. al., proposed different cost functions, extending the work of Lutrell (Graepel, M. Burger, K. Obermayer, Self-organizing maps: Generalizations and new optimization techniques, Neurocomputing 21 (1998) 173-190, S. P. Luttrell, A Bayesian analysis of self-organizing maps, Neural Computing 6 (1994) 767-794.):

[0014] 1. “The Soft Topographic vector quantization algorithm (STVQ)”: It permits creating self-organizing maps by changing the proximity function, permitting encoding other desired proximity relationships between neurons.

[0015] 2. “The Kernel-based soft topographic mapping (STMK)”: It is a generalization of the previous method but it introduces new distance measures based on kernel functions.

[0016] 3. “The Soft Topographic mapping for proximity data (STMP)”: It permits generating maps based only on the data inter-distances.

[0017] These functionals are optimized with a combination of the EM (Expectation-Maximization) algorithm and Deterministic Annealing techniques.

[0018] Bishop et al. (C. M. Bishop, M. Svensén, C. K. I. Williams, Developments of the generative topographic mapping, Neurocomputing 21 (1998) 203-224) also proposed the GTM algorithm (Generative Topographic Mapping), which is a reformulation of SOM using a probabilistic cost function, based on a latent-variables model for the data, optimized by means of the EM algorithm

[0019] Although all these algorithms are rather more complex and costly in computing time than SOM, they have the advantage of offering a better control and understanding of the mapping process.

[0020] One of the most important properties of the SOM algorithm is that it permits clustering the input data in the output space. This is possible since the SOM algorithm, by trying to preserve the topology, carries out a smooth and ordered mapping, therefore, similar input data will be assigned to neighboring neurons during the mapping. In this way, the density and likeness of the neurons on the map will approximately reflect the input data density, permitting “visualizing” the data clustering structure. In this context, it is important to mention the different attempts existing to try to combine the clustering and mapping ideas:

[0021] Lampinen and Oja (J. Lampinen, E. Oja, Clustering properties of hierarchical self-organizing maps, J. Math. Imaging and Vision 2 (1992) 261-272) demonstrated that the SOM algorithm is in some way related to a clustering algorithm. Y. Cheng (Y. Cheng, Convergence and ordering of Kohonen's batch map, Neural Computing 9 (1997) 1667-1676) demonstrated that a modification of the original SOM algorithm (Batch Map) is a generalization of the well known k-means clustering algorithm and finally Chen-Kuo Tsao et al. (E. Chen-Kuo Tsao, J. C. Bezdek, N. R. Pal, Fuzzy Kohonen clustering networks, Pattern Recognition 27 (5) (1994) 757-764) integrated some aspects of the classical Fuzzy c-means clustering algorithm into the SOM algorithm.

[0022] The object of many patents has been the attempt to find new mapping, clustering or dimensionality reduction methods, as well as modifying the original Kohonen algorithm or combining several algorithms to obtain self-organizing maps with different properties and theoretical bases. In spite of not finding a direct relationship with the proposed invention in these methods, it is important to mention them for the broad interest they have generated in these fields. To mention several examples, we could indicate:

[0023] 1. U.S. Pat. No. 5,734.796 (Mar. 31, 1998), for: Self-Organization of Pattern data with dimension reduction through learning of non-linear variance-constrained mapping.

[0024] 2. WO 99/57686 (Nov. 11, 1999), for: System, method, and computer program product for representing proximity data in a multi-dimensional space.

[0025] 3. U.S. Pat. No. 5,303,330 (Apr. 12, 1994), for: Hybrid multi-layer Neural Networks.

[0026] 4. U.S. Pat. No. 5,729,662 (Mar. 17, 1998), for: Neural Network for classification of patterns with improved method and apparatus for ordering vectors.

[0027] 5. U.S. Pat. No. 5,384,895 (Jan. 24, 1995), for: Self-Organizing Neural Network for classifying pattern signatures with “a posteriori” conditional class probability.

[0028] 6. WO 99/31624 (Jun. 24, 1999), for: Visualization and Self-organization of Multidimensional Data Through Equalized Orthogonal Mapping.

[0029] 7. U.S. Pat. No. 5,933,818 (Aug. 3, 1999), for: Autonomous knowledge discovery system and method.

[0030] 8. U.S. Pat. No. 5,479,576 (Dec. 26, 1995), for: Neural Network Learning System Inferring an Input-Output Relationship From a Set of Given Input and Output Samples.

[0031] 9. U.S. Pat. No. 5,276,772 (Jan. 4, 1994), for: Real Time Adaptive Probabilistic Neural Network System and Method for Data Sorting.

BRIEF DESCRIPTION OF THE INVENTION

[0032] The object of the proposed invention consists of proposing a methodology for constructing new self-organizing maps, similar to SOM, but based on mathematically well-defined cost functions, and explicitly expressing the two main desired features of a self-organizing map, namely quantifying the input space and smooth, ordered and topologically correct mapping. The proposed system consists of modified versions of the well-known Fuzzy c-means clustering algorithm functional, where the cluster centers or code vectors are distributed in a low dimensional space (such as a regular grid for example), for which a penalization term is added to the functional with the object of guaranteeing a smooth distribution of the code vector values on the low dimensional grid.

[0033] More specifically, the invention has a system for organizing multi-dimensional data in a smaller representation through a new self-organizing neural network. The neural network is composed of two layers: an input layer and an output layer. The input data are received by the input layer and a training algorithm produces an ordered mapping of this data in the output layer. The algorithm is derived from a cost function explaining the two main features of the network: correct quantification of the input space and formation of a topologically ordered map.

[0034] An object of the present invention is to have a new type of self-organizing neural network oriented to mapping, clustering and classifying high-dimensional data.

[0035] Another object of the present invention is also to provide a methodology for constructing this type of neural network based on different criteria that can be rigorously formulated in mathematically correct cost functions.

[0036] Other advantages and benefits of the invention will be explained in an evident manner in the rest of the present document.

BRIEF DESCRIPTION OF THE DRAWINGS

[0037] The detailed description of the present invention will be carried out hereinafter with the aid of the attached drawings, wherein:

[0038]FIG. 1 shows the structure of the self-organizing Kohonen map, in which the neurons in the output layer are interconnected on a low dimensional space, such as a grid for example, it being possible for this grid to have any topology, such as rectangular, hexagonal and others;

[0039]FIG. 2 shows a flow chart of the Fuzzy c-means clustering algorithm;

[0040]FIG. 3 shows a two-dimensional grid of 3×3 (c=9) code vectors;

[0041]FIG. 4 shows a flow chart of the FuzzySOM (Fuzzy Self-Organizing Map) algorithm;

[0042]FIG. 5 shows (a) a set of 855 data items in 2D sampled from a triangle, and (b) the items projected onto a 1D layout using a 64 neuron FuzzySOM;

[0043]FIG. 6 shows (a) 111 data items in 2D sampled from three circular groups, the data being projected onto a FuzzySOM 10×10 square grid, different projections for different values of the smoothness parameter

a being shown in (b), (c), and (d);

[0044]FIG. 7 shows (a) 93 data items in 3D obtained as samples from three orthogonal segments, and (b) a 15×15 map where the data has been projected using FuzzySOM;

[0045]FIG. 8 shows the FuzzySOM mapping of the classical Iris data onto a 10×15 map (three different species, 50 samples per species, 4 variables);

[0046]FIG. 9 shows a flow chart of the Kernel c-means algorithm;

[0047]FIG. 10 shows a flow chart of the KerDenSOM algorithm;

[0048]FIG. 11 shows the KerDenSOM algorithm Mapping of a set of 2458 rotational power spectra of individual images of the G40P hexameric helicase from B. Subtilis bacteriophage SPP1, and

[0049]FIG. 12 shows the KerDenSOM algorithm Mapping of a 338 set of images of the G40P hexameric helicase from B. Subtilis bacteriophage SPP1.

PREFERRED EMBODIMENT OF THE INVENTION

[0050] As mentioned, the detailed description of the preferred embodiment of the invention will be carried out with reference to the attached drawings, in which FIG. 1 shows a scheme of the Kohonen self-organizing map formed by two layers: an input layer (1) with p neurons, each one of them representing the p variables of the p-dimensional input data and an output layer (2) formed by c neurons interconnected in such a way that they form a regular grid. The grid (2) can be of any dimension, however, two-dimensional grids are used the most, as one of the main objectives of SOM is to reduce the dimensionality to a lesser space where the visualization can be direct. For the purpose of illustrating the present invention, we will assume in this preferred embodiment that the output grid (2) will always be 2 dimensional, unless otherwise indicated. The architecture of the neural networks proposed by the present invention is identical to the architecture of the SOMs.

[0051] Self-organizing maps must satisfy two fundamental requirements during the training process: self-organization and the convergence of the neuron values to a state where the data in the input space is faithfully quantified. We will use these two ideas to construct the new cost functions object of the invention.

[0052] One way of faithfully quantifying the data-space is to find a partition of the data into a finite number of groups, each one with a representative or center of the group, such that within one group, the distance from the data to its representative is as small as possible, and the distance between centers or representatives of different groups is as large as possible. There are algorithms for carrying out this type of partition and they are known as clustering algorithms. One of the most widely used algorithms for this type of task is known as Fuzzy c-means (J. C. Bezdek, Pattern Recognition with Fuzzy Objective Function Algorithms. Plenum, N.Y., 1981).

[0053] The Fuzzy c-means clustering method is a process of clustering objects in the same class or group, but the manner of carrying out this clustering is fuzzy, which means that the objects or data are not exclusively assigned to a single class, but rather partially assigned to all classes with a different degree of membership. The objective is to reach a high intra-cluster similarity and a low inter-cluster similarity. The theoretical bases of this method are the following:

[0054] Let X_(i)εR^(p), i=1 . . . n denote a p dimensional data set, and let V_(j)εR^(p), j=1 . . . C, (1<c<n) denote a set of cluster centers or prototypes. A c-partition of X can be represented by U_(ji), which is a continuous function in the [0,1] interval and represents the membership of X_(i) to the j group. In general, the U_(ji) elements satisfy the following restrictions: $\begin{matrix} \begin{Bmatrix} {0 \leq U_{ji} \leq 1} \\ {{{\sum\limits_{j = 1}^{c}U_{ji}} = 1},{\forall i}} \end{Bmatrix} & (2) \end{matrix}$

[0055] The problem to solve is proposed in the following manner: $\begin{matrix} {\min\limits_{U,V}{\sum\limits_{i = 1}^{n}{\sum\limits_{j = 1}^{c}{U_{ji}^{m}{{X_{i} - V_{j}}}^{2}}}}} & (3) \end{matrix}$

[0056] for m>1, under the constraints in equation 2 and where the m parameter controls the amount of “fuzziness”, and is termed the “fuzziness parameter”.

[0057] The algorithm shown in FIG. 2, representing the flow chart of the Fuzzy c-means clustering algorithm, is able to find a solution that converges to a local minimum of the functional in equation 3, by means of:

[0058] 1. Randomly initializing (3) V and randomly initializing U, but satisfying the restrictions given in equation 2;

[0059] 2. Setting (4) a value for m>1.

[0060] 3. For i=1 . . . n, and for j=1 . . . c, computing (5): $\begin{matrix} {U_{ji} = \frac{1}{\sum\limits_{k = 1}^{c}\frac{{{X_{i} - V_{j}}}^{2/{({m - 1})}}}{{{X_{i} - V_{k}}}^{2/{({m - 1})}}}}} & (4) \end{matrix}$

[0061] 4. For j=1 . . . c, computing (6): $\begin{matrix} {V_{j} = \frac{\sum\limits_{i = 1}^{n}{U_{ji}^{m}X_{i}}}{\sum\limits_{i = 1}^{n}U_{ji}^{m}}} & (5) \end{matrix}$

[0062] 5. Stopping (7) when the difference (8) in the U_(ji)'s between the current and the previous iteration are smaller than a given ε value; otherwise go to the previous step 3.

[0063] To demonstrate that the algorithm provided solves the problem defined in equation 3, we should first take the derivative of equation 3 with respect to V_(j) and set it to 0. This produces exactly equation 4. The next step is to take the derivative of equation 3 with respect to U, under the restrictions proposed in equation 2. This produces exactly equation 5.

[0064] The next necessary step in order to obtain a correct self-organizing map consists of adding a penalization term to the Fuzzy c-means functional, guaranteeing the smoothness of the spatial distribution of the code vectors on the grid. Intuitively, the “smoothness” is necessary here to assure an ordered map. In other words, a proximity relationship is added to the cluster centers.

[0065] Let's assume that the cluster center or code vectors are distributed on a regular two-dimensional square grid (9) of 3×3 code vectors like the one shown in FIG. 3. Other topologies are also possible, such as a regular grid in 3D, a hexagonal, circular grid, etc. One possible smoothness implementation consists of demanding that the values of a code vector are similar or close to the average value of its nearest neighbors on the grid. Referring to FIG. 3, this means that the following “non-smoothness” measure of must be kept small: $\begin{matrix} {{{tr}\left( {VCV}^{T} \right)} = \begin{Bmatrix} {{{V_{1} - {\left( {V_{2} + V_{4}} \right)/2}}}^{2} + {{V_{2} - {\left( {V_{1} + V_{3} + V_{5}} \right)/3}}}^{2} +} \\ {{{V_{3} - {\left( {V_{2} + V_{6}} \right)/2}}}^{2} + {{V_{4} - {\left( {V_{1} + V_{5} + V_{7}} \right)/3}}}^{2} +} \\ {{{V_{5} - {\left( {V_{2} + V_{4} + V_{6} + V_{8}} \right)/4}}}^{2} +} \\ {{{V_{6} - {\left( {V_{3} + V_{5} + V_{9}} \right)/3}}}^{2} + {{V_{7} - {\left( {V_{4} + V_{8}} \right)/2}}}^{2} +} \\ {{{V_{8} - {\left( {V_{5} + V_{7} + V_{9}} \right)/3}}}^{2} + {{V_{9} - {\left( {V_{6} + V_{8}} \right)/2}}}^{2}} \end{Bmatrix}} & (6) \end{matrix}$

[0066] Where ∥·∥² denotes the squared Euclidean L₂ vector norm. The expression on the left-hand side of the equation constitutes a convenient way to state general non-smoothness, through matrix algebra, where tr(·) denotes the trace of a squared matrix, the superscript “T” denotes vector or matrix transpose and VεR^(p×c) and CεR^(c×c) implements a discrete differential operator (explained below).

[0067] In general terms, non-smoothness can be expressed in terms of the collection of vectors W=(W₁ W₂ . . . W₉)εR^(p·9), with W₁=V₁=(V₂+V₄)/2, W₂=V₂=(V₁+V₃+V₅)/3, and so on. In matrix notation, this is equivalent to:

W=VB  (7)

[0068] where, V=(V₁ V₂ . . . V₉)εR^(p·9), BεR^(9·9), and: $\begin{matrix} {B_{ij} = \left\{ \begin{matrix} {1,{{{if}\quad {{r_{i} - r_{j}}}} = 0}} \\ {{- 1}/{\sum\limits_{j = 1}^{c}{I\left( {{{r_{i} - r_{j}}} = 1} \right)}}} \end{matrix} \right.} & (8) \end{matrix}$

[0069] In equation 8, r_(i) denotes the position vector, in the grid space, to the ith grid point, and I(·) is the indicator function.

[0070] Finally, the scalar measure of non-smoothness given by equation 6 is simply the Frobenius norm of the matrix W defined by equations 7 and 8:

∥W∥_(F)=tr(WW^(T))=tr(VBB^(T)V^(T))=tr(VCV^(T))  (9)

[0071] where

C=BB^(T)  (10)

[0072] The matrix BεR^(c·c) implements (except for a scale factor) a discrete Laplacian operator. For instance, referring to FIG. 3 and equation 6, matrix B would be: $\begin{matrix} {B = \begin{matrix} 1 & {{- 1}/2} & 0 & {{- 1}/2} & 0 & 0 & 0 & 0 & 0 \\ {{- 1}/3} & 1 & {{- 1}/3} & 0 & {{- 1}/3} & 0 & 0 & 0 & 0 \\ 0 & {{- 1}/2} & 1 & 0 & 0 & {{- 1}/2} & 0 & 0 & 0 \\ {{- 1}/3} & 0 & 0 & 1 & {{- 1}/3} & 0 & {{- 1}/3} & 0 & 0 \\ 0 & {{- 1}/4} & 0 & {{- 1}/4} & 1 & {{- 1}/4} & 0 & {{- 1}/4} & 0 \\ 0 & 0 & {{- 1}/3} & 0 & {{- 1}/3} & 1 & 0 & 0 & {{- 1}/3} \\ 0 & 0 & 0 & {{- 1}/2} & 0 & 0 & 1 & {{- 1}/2} & 0 \\ 0 & 0 & 0 & 0 & {{- 1}/3} & 0 & {{- 1}/3} & 1 & {{- 1}/3} \\ 0 & 0 & 0 & 0 & 0 & {{- 1}/2} & 0 & {{- 1}/2} & 1 \end{matrix}} & (11) \end{matrix}$

[0073] It is important to emphasize that for the particular case in equation 6, 10 and 11 the matrices B and C implement the discrete Laplacian and the iterated second Laplacian, respectively, with certain boundary conditions. It is also possible to implement the proximity relationship through other matrices, always within the previously described context. For instance, the matrix B may be defined as a first order derivative (gradient) operator, and the matrix D would then be a Laplacian-like operator, similar to the one in equation 11.

[0074] Making use of the two ideas described above, vector quantization of the input space and smooth and ordered distribution of the code vectors associated to the neurons in the output space, reflect

[0075] equations 3 and 6, we formulate one of the functionals object of our invention: $\begin{matrix} \left. {\min\limits_{U,V}\left\{ {{\sum\limits_{i = 1}^{n}{\sum\limits_{j = 1}^{c}{U_{ji}^{m}{{X_{i} - V_{j}}}^{2}}}} + {\vartheta \quad {{tr}\left( {VCV}^{T} \right)}}} \right\}}\quad\swarrow\quad\searrow\quad \quad {{Part}\quad A\quad \left( {{faithfulness}\quad {to}\quad {the}\quad {data}} \right)\quad {Part}\quad B\quad \left( {{topological}\quad {ordering}} \right)} \right. & (12) \end{matrix}$

[0076] where the first addend (or part A) refers to the faithfulness to the data, and the second addend (or part B) refers to the topological ordering.

[0077] This function is subject to the restrictions expressed in equation 2. m>1 is the fuzziness parameter and

>0 is the regularization parameter (smoothness) controlling the smoothness magnitude to demand.

[0078] Once we have a cost function formulated explicitly reflecting the features of the self-organizing map (Part A+Part B), the next step is to find suitable values for V and U minimizing it.

[0079] For fixed V and

, the problem of equation 12 regarding U is equivalent to the following problem using Lagrange multipliers (λ_(i)): $\begin{matrix} {\min\limits_{U,\Lambda}\left\{ {{\sum\limits_{i = 1}^{n}{\sum\limits_{j = 1}^{c}{U_{ji}^{m}{{X_{i} - V_{j}}}^{2}}}} + {\vartheta \quad {{tr}\left( {VCV}^{T} \right)}} + {\sum\limits_{i = 1}^{n}\left\lbrack {\lambda_{i}\left( {{\sum\limits_{j = 1}^{c}U_{ji}} - 1} \right)} \right\rbrack}} \right\}} & (13) \end{matrix}$

[0080] The solution is given exactly by equation 4.

[0081] For fixed U and

, the problem of equation 12 regarding V_(j), for j=1. . . c produces the following linear equations system: $\begin{matrix} {{{V_{j}{\sum\limits_{i = 1}^{n}U_{ji}^{m}}} + {\vartheta \quad {\sum\limits_{k = 1}^{c}{C_{jk}V_{k}}}}} = {\sum\limits_{i = 1}^{n}{U_{ji}^{m}X_{i}}}} & (14) \end{matrix}$

[0082] where C_(jk) denote the elements of matrix C. Note that if

=0 and 2≦c<n, then equation 14 corresponds to the classical Fuzzy c-means solution given by equation 5.

[0083] Equation 14 can be re-written in the following manner: $\begin{matrix} {V_{j} = \frac{{\sum\limits_{i = 1}^{n}{U_{ji}^{m}X_{i}}} - {\vartheta \quad {\sum\limits_{\underset{k \neq j}{k = 1}}^{c}{C_{jk}V_{k}}}}}{{\sum\limits_{i = 1}^{n}U_{ji}^{m}} + {\vartheta \quad C_{jj}}}} & (15) \end{matrix}$

[0084] for j=1 . . . c. In this manner, the equation is in the convenient form for the Gauss-Seidel iterative algorithm where C_(jk) denotes the elements of the previously explained C matrix. Note that if the regularization parameter

is set to 0 (non-smoothness), the problem is converted into the classic Fuzzy c-means clustering problem.

[0085] Based on the topology of the grid shown in FIG. 3, one simple option for the C matrix is the Laplacian-like operator. In this case, equation 15 is simplified in the following manner: $\begin{matrix} {V_{j} = \frac{{\sum\limits_{i = 1}^{n}{U_{ji}^{m}X_{i}}} + {\vartheta \quad {\overset{\_}{V}}_{j}}}{{\sum\limits_{i = 1}^{n}U_{ji}^{m}} + \vartheta}} & (16) \end{matrix}$

[0086] where {overscore (V)}_(j) denotes the average of the code vectors that are the nearest neighbors to V_(j) on the grid. In this average value, V_(j) is excluded. For example, referring to only some neurons of the map in FIG. 3,we would have: $\begin{matrix} \begin{Bmatrix} {{\overset{\_}{V}}_{1} = {\left( {V_{2} + V_{4}} \right)/2}} \\ {{\overset{\_}{V}}_{2} = {\left( {V_{1} + V_{3} + V_{5}} \right)/3}} \\ {{\overset{\_}{V}}_{5} = {\left( {V_{2} + V_{4} + V_{6} + V_{8}} \right)/4}} \end{Bmatrix} & (17) \end{matrix}$

[0087] Updating a code vector using equation 16 reveals the nature of the self-organizing process: a code vector is directly influenced by the most similar input data, and by its nearest neighbors on the grid.

[0088] The basic algorithm derived from this solution is similar to the Fuzzy c-means clustering algorithm (FIG. 2). The solution will be iterative, alternating between equation 4 and equation 15. FIG. 4 shows the flow chart of this algorithm which we have called FuzzySOM (Fuzzy Self-Organizing Map), consisting of:

[0089] a. randomly initializing (3) V and randomly initializing U as well, but satisfying the restrictions: $\begin{matrix} \begin{Bmatrix} {0 \leq U_{ji} \leq 1} \\ {{{\sum\limits_{j = 1}^{c}U_{ji}} = 1},{\forall i}} \end{Bmatrix} & {{equation}\quad 2} \end{matrix}$

[0090] b. setting (11) a value for m, with m>1, and a value for

>0,

[0091] c. computing (5) the U's, for i=1 . . . n and for j=1 . . . c, using equation 4: $U_{ji} = \frac{1}{\sum\limits_{k = 1}^{c}\frac{{{X_{i} - V_{j}}}^{2/{({m - 1})}}}{{{X_{i} - V_{k}}}^{2/{({m - 1})}}}}$

[0092] d. for j=1 . . . c, computing (12) the V's using equation 15: $V_{j} = \frac{{\sum\limits_{i = 1}^{n}{U_{ji}^{m}X_{i}}} - {\vartheta \quad {\sum\limits_{\underset{k \neq j}{k = 1}}^{c}{C_{jk}V_{k}}}}}{{\sum\limits_{i = 1}^{n}U_{ji}^{m}} + {\vartheta \quad C_{jj}}}$

[0093] e. in case the condition V_(current) − V_(previous)² < ɛ

[0094] is not satisfied, return to step d), if it is satisfied, but the condition U_(current) − U_(previous)² < ɛ

[0095] is not satisfied, then the whole process is repeated starting at step c),

[0096] f. when both conditions are satisfied, the algorithm stops (7).

[0097] With the objective of achieving a convergence towards the global minimum of the function described in equation 12 and to minimize the effect produced by different initializations of V and U, a strategy known as deterministic annealing can be introduced into the algorithm, it would basically start the algorithm with high values of the fuzziness parameter m (high fuzziness) and make it gradually decrease to values very close to 1 (low fuzziness). In this manner, the results can considerably improve.

[0098] Some examples of the results of the described method will be described with the aid of FIGS. 5, 6, 7 and 8. FIG. 5 shows an interesting example of mapping a set (14) of 855 data items from a 2D triangle (FIG. 5a) onto 1D network (15) formed by 64 neurons. On said network (15), the code vectors tend to fill the triangle, producing the famous Peano curves (T. Kohonen, Self-organizing Maps, Springer Verlag, Berlin, 1995). In this case, the parameters used were:

=0.5, with m decreasing from 3 to 1.02 in 500 steps.

[0099]FIG. 6 shows the effect of different values of the smoothness parameter

on the new self-organizing map. In this simple example, the data input are a set (16) of 111 data items in 2D from a distribution of three circular clusters, as shown in FIG. 6a. The map used was a 10×10 square grid. On the map (17), with

=0.05, it can be seen that it is not very organized. The organization increases when the regularization parameter increases up to the point where a distortion starts to occur because of excessive regularization (map (19), with

=9). In all cases, m was linearly decreased from 2 to 1.02 in 400 steps.

[0100]FIG. 7 shows the mapping (20 of 93 data items in 3D, sampled from three orthogonal segments (FIG. 7a) on a 15×15 square grid. On the map (21) in FIG. 7b, the code vectors forming a smooth representation of the original data are shown. The parameters used were:

=0.5, with m linearly decreasing from 2 to 1.02 in 500 steps. This example shows the mapping ability of the new method, which is able to conserve the main topological features of the data, in spite of the presence of a certain smoothing degree.

[0101]FIG. 8 shows the projection (22) of the classic Iris data (R. A. Fisher, The use of multiple measurements in taxonomic problems, Ann. Eugen. 7 (1936) 179-188.), composed of 150 data in 4D corresponding to three different flower species. This data has been widely used for a long time as evidence of grouping and classification methods. The mapping results on a 10×15 square grid (

=0.5, with m decreasing from 2 to 1.02 in 500 steps) show the clear separation of one of the species (indicated as 1), while the other 2 (2 and 3) are not clearly separable. These results are in perfect concordance with those obtained by the majority of the dimensionality reduction, mapping and clustering methods applied to this set of data.

[0102] It is also important to mention that one of the big advantages of this new method is that the input data membership to each one of the code vectors is optimally estimated based on a fuzzy method, and not a posteriori, as is done with the SOM method.

[0103] The proposed idea for creating self-organizing maps based on this type of cost functions could be extended to other modifications expressing new map features. Another object of our invention is the methodology for creating self-organizing maps based on the idea of the creation of functionals demanding faithfulness to the data and topological ordering (Part A+Part B of the functional). Different ideas could be used in addition to the one previously described. A new idea for the creation of this type of map and also forming part of the proposed invention is the following:

[0104] Given a set of data X_(i) ∈ ^(p   •   1),

[0105] with i=1 . . . n, of p dimension, find subrogated c data V_(j) ∈ ^(p   •   1),

[0106] with j=1 . . . c, such that the estimated density: $\begin{matrix} {{D(X)} = {\frac{1}{c}{\sum\limits_{j = 1}^{c}{K\left( {{X - V_{j}};\alpha} \right)}}}} & (18) \end{matrix}$

[0107] most resembles the density of the original data. D (K ) is the Kernel-type density probability estimator, K is a Kernel function and α is the kernel width controlling the estimated density smoothness (the only case of interest is for when n>c+2). An example of a widely used Kernel function is the Gaussian function: $\begin{matrix} {{K\left( {{X - X_{i}};\alpha} \right)} = {\frac{1}{\left( {2\quad \pi \quad \alpha} \right)^{p/2}}{\exp \left( {- \frac{{{X - X_{i}}}^{2}}{2\quad \alpha}} \right)}}} & (19) \end{matrix}$

[0108] In general, let D(X;θ) be the probability density for the random X variable, where θ are some unknown parameters. If X_(i) ∈ ^(p  •1),

[0109] i=1 . . . n denotes the data items, then: $\begin{matrix} {L = {\prod\limits_{i = 1}^{n}{D\left( {x_{i};\theta} \right)}}} & (20) \end{matrix}$

[0110] is the likelihood function, and the most common statistical estimator for θ is obtained by maximizing it. Note that in this case the code vectors and the Kernel width compose the parameter vector, i.e., θ={{V_(j) }, α}. Maximizing the likelihood function is equivalent to maximizing its logarithm, making the equations easier to handle, mathematically speaking: $\begin{matrix} {{\max \quad l} = {{\sum\limits_{i = 1}^{n}{\ln \left( {D\left( X_{i} \right)} \right)}} = {\sum\limits_{i = 1}^{n}{\ln \left( {\frac{1}{c}{\sum\limits_{j = 1}^{c}{K\left( {{X_{i} - V_{j}};\alpha} \right)}}} \right)}}}} & (21) \end{matrix}$

[0111] This new functional expressed in equation 21 can be solved in the same manner as the Fuzzy c-means functional was solved: taking the derivative from equation 21 and setting it to zero would give: $\begin{matrix} {{\sum\limits_{i = 1}^{n}{\frac{K\left( {{X_{i} - V_{j}};\alpha} \right)}{\sum\limits_{k = 1}^{c}{K\left( {{X_{i} - V_{k}};\alpha} \right)}}\left\lbrack {X_{i} - V_{j}} \right\rbrack}} = 0} & (22) \end{matrix}$

[0112] which is equivalent to: $\begin{matrix} {{V_{j} = \frac{\sum\limits_{i = 1}^{n}{X_{i}u_{ji}}}{\sum\limits_{i = 1}^{n}u_{ji}}}{{with}:}} & (23) \\ {u_{ji} = \frac{K\left( {{X_{i} - V_{j}};\alpha} \right)}{\sum\limits_{k = 1}^{c}{K\left( {{X_{i} - V_{k}};\alpha} \right)}}} & (24) \end{matrix}$

[0113] Equation 23 permits computing the V's. The equation 24 permits computing the U's in relation to the flow chart shown in FIG. 9.

[0114] Similarly, the optimum Kernel width can also be estimated. In the case in which the kernel function is the Gaussian function (equation 19) and taking the derivative with respect to α, and setting it to zero, gives: $\begin{matrix} {\hat{\alpha} = {\frac{1}{np}{\sum\limits_{i = 1}^{n}{\sum\limits_{j = 1}^{c}{u_{ji}{{X_{i} - V_{j}}}^{2}}}}}} & (25) \end{matrix}$

[0115] There is a great similarity between these equations and those that come from the Fuzzy c-means functional. The biggest difference is in equation 24 that updates the membership to the groups. Therefore, the new algorithm for estimating the probability density with subrogated data (given by equation 21) is almost the same as the Fuzzy c-means algorithm expressed in the flow chart in FIG. 2, but only changing equation 4 that updates the fuzzy membership for equation 24 and introducing the calculation of a from equation 25. FIG. 9 shows the new flow chart of this new algorithm that we will call “Kernel c-means” consisting of:

[0116] a) Setting (23) a value for c, where (n>(c+2)),

[0117] b) Randomly initializing (3) V and randomly initializing U, but satisfying the restrictions given by equation 2;

[0118] c) For j=1 . . . c, computing (24) the V's according to equation 23: $V_{j} = \frac{\sum\limits_{i = 1}^{n}{X_{i}u_{ji}}}{\sum\limits_{i = 1}^{n}u_{ji}}$

[0119] d) Computing (25) the α's using equation 25: $\hat{\alpha} = {\frac{1}{np}{\sum\limits_{i = 1}^{n}{\sum\limits_{j = 1}^{c}{u_{ji}{{X_{i} - V_{j}}}^{2}}}}}$

[0120] e) For i=1 . . . n, and for j=1 . . . c, computing (26) the U's according to equation 24: $u_{ji} = \frac{K\left( {{X_{i} - V_{j}};\alpha} \right)}{\sum\limits_{k = 1}^{c}{K\left( {{X_{i} - V_{k}};\alpha} \right)}}$

[0121] f) Stopping (7) when the differences (8) of the U_(ji)'s between the current and previous iteration are less than a given value ε; otherwise, go to step c.

[0122] With the objective of creating a self-organizing map now based on the data probability density estimation, Part B from the FuzzySOM functional will be added to the new functional given by equation 21, the new cost function being: $\begin{matrix} {{\max \quad l_{s}} = \left. {{\sum\limits_{i = 1}^{n}{\ln \left( {\frac{1}{c}{\sum\limits_{j = 1}^{c}{K\left( {{X_{i} - V_{j}};\alpha} \right)}}} \right)}} - {\frac{\vartheta}{2\quad \alpha}{{tr}\left( {VCV}^{T} \right)}}}\quad\swarrow\quad\searrow \quad {{Part}\quad A\quad \left( {{faithfulness}\quad {to}\quad {the}\quad {data}} \right)\quad {Part}\quad B\quad \left( {{topological}\quad {ordering}} \right)} \right.} & (26) \end{matrix}$

[0123] With

>0 being the smoothness parameter for the mapping and α being the Kernel width. Note the similarity between this new functional and the functional given by equation 12, where the two fundamental parts required to form the self-organizing map are conserved: faithfulness to the data (in this case given by the fact that the code vectors are estimated in such a way that they tend to have the same statistical properties of the input data by demanding that their estimated probability density functions must be as similar as possible) and the topological ordering on a grid of a smaller dimension.

[0124] If we use a Gaussian kernel given by equation 19, the functional would be equivalent to: $\begin{matrix} {l_{s} = {{{- \frac{np}{2}}\ln \quad 2\quad c\quad \pi \quad \alpha} + {\sum\limits_{i = 1}^{n}{\ln \left( {\sum\limits_{j = 1}^{c}{\exp \left( {- \frac{{{X_{i} - V_{j}}}^{2}}{2\quad \alpha}} \right)}} \right)}} - {\frac{\vartheta}{2\quad \alpha}{{tr}\left( {VCV}^{T} \right)}}}} & (27) \end{matrix}$

[0125] The first step would be to maximize the functional with respect to α. Taking the partial derivative and setting it to zero, gives: $\begin{matrix} {\hat{\alpha} = {\frac{1}{np}\left( {{\sum\limits_{i = 1}^{n}{\sum\limits_{j = 1}^{c}{{{X_{i} - V_{j}}}^{2}u_{ji}}}} + {\vartheta \quad {\sum\limits_{j = 1}^{c}{\sum\limits_{k = 1}^{c}{C_{jk}V_{j}^{T}V_{k}}}}}} \right)}} & (28) \end{matrix}$

[0126] Taking the partial derivative of equation 27 with respect to V_(j) and setting it to zero gives: $\begin{matrix} {V_{j} = \frac{{\sum\limits_{i = 1}^{n}{u_{ji}X_{i}}} - {\vartheta \quad {\sum\limits_{\underset{k \neq j}{k = 1}}^{c}{C_{jk}V_{k}}}}}{{\sum\limits_{i = 1}^{n}u_{ji}} + {\vartheta \quad C_{jj}}}} & (29) \end{matrix}$

[0127] with U_(ji) identical to equation 24.

[0128]FIG. 10 shows the flow chart of this new algorithm called KerDenSOM (standing for Kernel Density Estimator Self-Organizing Map), consisting of:

[0129] Setting (27) the values

₁>0,

₀>0, the number of current iteration Iter=, and the maximum number of iterations (MaxIter >1);

[0130] Randomly initializing (28) U, but satisfying restrictions: $\begin{matrix} \begin{Bmatrix} {0 \leq U_{ji} \leq 1} \\ {{{\sum\limits_{j = 1}^{c}U_{ji}} = 1},{\forall i}} \end{Bmatrix} & {{equation}\quad 2} \end{matrix}$

[0131] Initializing (24) the V's equation 23: $V_{j} = \frac{\sum\limits_{i = 1}^{n}{X_{i}u_{ji}}}{\sum\limits_{i = 1}^{n}u_{ji}}$

[0132] initializing (29) the α $\hat{\alpha} = {\frac{1}{np}\left( {{\sum\limits_{i = 1}^{n}{\sum\limits_{j = 1}^{c}{{{X_{i} - V_{j}}}^{2}u_{ji}}}} + {\vartheta_{1}{\sum\limits_{j = 1}^{c}{\sum\limits_{k = 1}^{c}{C_{jk}V_{j}^{T}V_{k}}}}}} \right)}$

[0133] computing (30) the iteration number Iter=Iter+1, such that:

=exp(ln(

₁)=ln(

₁)=ln(

₀)) *Iter/MaxIter)

[0134] for j=1, . . . c, computing (31) the V's using equation 29: $V_{j} = \frac{{\sum\limits_{i = 1}^{n}{u_{ji}X_{i}}} - {\vartheta \quad {\sum\limits_{\underset{k \neq j}{k = 1}}^{c}{C_{jk}V_{k}}}}}{{\sum\limits_{i = 1}^{n}u_{ji}} + {\vartheta \quad C_{jj}}}$

[0135] if the following condition (13) is not satisfied V_(current) − V_(previous)² < ɛ,

[0136] then repeat the previous step (31), otherwise calculate (32) the α using equation 28: $\hat{\alpha} = {\frac{1}{np}\left( {{\sum\limits_{i = 1}^{n}{\sum\limits_{j = 1}^{c}{{{X_{i} - V_{j}}}^{2}u_{ji}}}} + {\vartheta {\sum\limits_{j = 1}^{c}{\sum\limits_{k = 1}^{c}{C_{jk}V_{j}^{T}V_{k}}}}}} \right)}$

[0137] calculate (26) the U's , for i=1 . . . n, and j=1 . . . c, using equation 24: $u_{ji} = \frac{K\left( {{X_{i} - V_{j}};\alpha} \right)}{\sum\limits_{k = 1}^{c}{K\left( {{X_{i} - V_{k}};\alpha} \right)}}$

[0138] if the following condition (8) is not satisfied U_(current) − U_(previous)² < ɛ,

[0139] return to step (31), otherwise check (33) if the iteration number is less than the maximum number assigned in the first step (27);

[0140] if the previous condition (33) is satisfied, repeat the sequence from step (30), otherwise the KerDenSOM algorithm stops.

[0141] As can be seen in said chart, the algorithm starts with a large value of

, and once it has converged,

is decreased, and the algorithm is repeated (MaxIter times). This step implements a deterministic annealing strategy to slowly decrease

until reaching the desired value. This technique permits considerably improving the results by helping equation 26 approach the global maximum.

[0142] This new algorithm has been tested with the same synthetic data used for testing the FuzzySOM algorithm, and the results are almost identical (the reason for which the figures are not shown). In view of demonstrating that this method is able to solve real problems, we have tested it with two different data sets coming from a set of G40P hexameric helicase electron microscopy images from B. Subtilis bacteriophage SPP1. The details for these data can be seen in: (Pascual, A., Bárcena, M., Merelo, J. J., Carazo, J. M., “Mapping and Fuzzy Classification of Macromolecular Images using Self-Organizing Neural Networks”. Ultramicroscopy, 2000 Jul;84(1-2):85-99). FIG. 11 shows the results of KerDenSOM on a set of 2458 rotational power spectra of the individual images of the previously mentioned specimen. The areas indicated with a circle show the code vectors having density maximums (number of spectra assigned to them). These maximums can be considered possible cluster representatives, that in this particular case correspond to images with 6-fold symmetry, 3-fold symmetry, 3-fold and 6-fold symmetry, 2-fold symmetry and 1-fold symmetry (no symmetry at all). These results coincide with others obtained and published by (M. Barcena, C. San Martin, F. Weise, S. Ayora, J. C. Alonso, J. M. Carazo, Polymorphic quaternary organization of the Bacillus subtilis bacteriophage SPP1 replicative helicase (G40P), J. Mol. Biol. 283 (4) (1988) 809-819.), using the Kohonen maps and clustering techniques. It is important to mention that when using the Kohonen method on a map of the same dimensions, the results are not as clear and evident as in the case shown here. The main difference is that since the method described in this invention explicitly tries to find a cluster of code vectors coming from the same probability density as the original data, we could assure that the neurons having maximum assigned densities would be representative candidates of a group or cluster, a conclusion that cannot be assured using the Kohonen method since it does not have an explicit function outlining the problem it tries to solve.

[0143] As a second example described above, 338 electron microscopy images of the same macromolecule were used, but that show an apparent homogeneity. The results of the mapping using the new proposed method (KerDenSOM) are shown in FIG. 12. The circled neurons show the areas of maximum density, that, as in the previous example, could represent well populated groups of truly homogenous images. In this particular case, 4 groups are seen representing two types of images of the same macromolecule but with a different orientation and a symmetry difference (see Pascual et. al. for details). These results coincide with those already recently obtained and published (Bárcena et. al).

[0144] It is also important to mention that one of the greatest advantages of this new methodology developed in this invention is that the probability can be explicitly estimated by means of equation 18, but the parameter estimation will be carried out by an algorithm training mechanism based on the new functional.

[0145] As the foregoing only corresponds to one preferred embodiment of the invention, skilled persons in the art will be able to introduce amendments and changes, also protected, without changing the scope of the invention defined in the following claims. 

1.- a system for non-linear data mapping and dimensionality reduction comprised of: A self-organizing neural network comprised of a plurality of layers of nodes including: an input layer composed of a plurality of input nodes corresponding to the variables of the input data and an output layer composed of a plurality of interconnected output nodes forming a regular grid with an arbitrary topology. Receiving means for multi-dimensional data input. Means for generating an output signal for each node of the neural network output layer and in some way corresponding to received multi-dimensional input data. Training means for the neural network, including a mechanism to explicitly express two main features of the generated maps, namely faithfulness to the data and topological ordering, characterized in that it is essentially based on a mathematically rigorous cost function formulating the requirements of a self-organizing map and including two parts: Part A: Faithfulness to the input data Part B: Topological ordering 2.- A system according to claim 1, characterized in that it proposes the following cost function: $\quad \left. {\min\limits_{U,V}\left\{ {{\sum\limits_{i = 1}^{n}{\sum\limits_{j = 1}^{c}{U_{ji}^{m}{{X_{i} - V_{j}}}^{2}}}} + {\vartheta \quad {{tr}\left( {VCV}^{T} \right)}}} \right\}}\quad\swarrow\quad\searrow\quad {{Part}\quad A\quad \left( {{faithfulness}\quad {to}\quad {the}\quad {data}} \right)\quad {Part}\quad B\quad \left( {{topological}\quad {ordering}} \right)} \right.\quad$

the first addend being Part A and the second addend being Part B, and whose optimization produces the FuzzySOM algorithm. 3.- A system according to claim 2, characterized in that said FuzzySOM algorithm is composed of the following steps: a. randomly initializing V and also randomly initializing U, but satisfying the following restrictions: $\begin{Bmatrix} {0 \leq U_{ji} \leq 1} \\ {{{\sum\limits_{j = 1}^{c}U_{ji}} = 1},{\forall i}} \end{Bmatrix}\quad$

b. setting a value for m, with m>1, and set a value for

>0, c. computing the U's, for i=1 . . . n and for j=1 . . . c, using the equation: $U_{ji} = \frac{1}{\sum\limits_{k = 1}^{c}\frac{{{X_{i} - V_{j}}}^{2/{({m - 1})}}}{{{X_{i} - V_{k}}}^{2/{({m - 1})}}}}$

d. for j=1 . . . c, calculate the V's using the equation: $V_{j} = \frac{{\sum\limits_{i = 1}^{n}{U_{ji}^{m}X_{i}}} - {\vartheta \quad {\sum\limits_{\underset{k \neq j}{k = 1}}^{c}{C_{jk}V_{k}}}}}{{\sum\limits_{i = 1}^{n}U_{ji}^{m}} + {\vartheta \quad C_{jj}}}$

e. in case the following condition is not satisfied: V_(current) − V_(previous)² < ɛ,

return to step d), otherwise if it is satisfied but the following condition U_(current) − U_(previous)² < ɛ

is not satisfied, then the whole process is repeated starting at step c), f. when both conditions are satisfied, the algorithm stops. 4.- A system according to claim 2, characterized in that it reflects the properties of a self-organizing map and where the regularization parameter

controls the smoothness level (ordering) being applied to the map, being converted into a pure clustering method known as Fuzzy c-means when the value of said parameter is set to zero. 5.- A system according to claim 2, characterized in that it permits visualization in a lower dimensionality space as well as data clustering. Each input data has a fuzzy membership associated to each one of the nodes of the output layer optimally estimated by means of the algorithm and not a posteriori as other related methods do it. 6.- A system according to claim 2, characterized in that it permits using any distance measure to measure non-similarity in part A of the functional. 7.- A system according to claim 1, characterized in that it permits formulating this other cost function: ${\max \quad l_{s}} = \left. {{\sum\limits_{i = 1}^{n}{\ln \left( {\frac{1}{c}{\sum\limits_{j = 1}^{c}{K\left( {{X_{i} - V_{j}};\alpha} \right)}}} \right)}} - {\frac{\vartheta}{2\quad \alpha}{{tr}\left( {VCV}^{T} \right)}}}\quad\swarrow\quad\searrow \quad {{Part}\quad A\quad \left( {{faithfulness}\quad {to}\quad {the}\quad {data}} \right)\quad {Part}\quad B\quad \left( {{topological}\quad {ordering}} \right)} \right.$

where the faithfulness to the input data is based on the Kernel type probability density estimation of the input data and its optimization produces the KerDenSOM algorithm. 8.- A system according to claim 7, characterized in that said used KerDenSOM algorithm consists of the following steps: a. setting the values

₁>0,

₁>0 MaxIter>1, Iter=0, b. randomly initializing U, satisfying the restrictions: $\begin{Bmatrix} {0 \leq U_{ji} \leq 1} \\ {{{\sum\limits_{j = 1}^{c}U_{ji}} = 1},{\forall i}} \end{Bmatrix}\quad$

c. initializing the V's using the following equation: $V_{j} = \frac{\sum\limits_{i = 1}^{n}{X_{i}u_{j\quad i}}}{\sum\limits_{i = 1}^{n}u_{j\quad i}}$

d. initializing the α: ${\hat{\alpha} = {\frac{1}{n\quad p}\left( {{\sum\limits_{i = 1}^{n}{\sum\limits_{j = 1}^{c}\quad {{{X_{i} - V_{j}}}^{2}u_{j\quad i}}}} + {\vartheta_{1}{\sum\limits_{j = 1}^{c}{\sum\limits_{k = 1}^{c}{C_{j\quad k}V_{j}^{T}V_{k}}}}}} \right)}},$

e. computing Iter=Iter+1, such that: z,900 =exp(ln(

₁)=(ln(

₁)=ln(

₀))*Iter/MaxIter) f. for j=1, . . . c, calculate the V's using the equation: $V_{j} = \frac{{\sum\limits_{i = 1}^{n}{u_{i\quad j}X_{i}}} - {\vartheta {\sum\limits_{\underset{k \neq 1}{k = 1}}^{c}{C_{j\quad k}V_{k}}}}}{{\sum\limits_{i = 1}^{n}u_{i\quad j}} + {\vartheta \quad C_{j\quad j}}}$

g. if V_(current) − V_(previous)² < ɛ

is not satisfied, then repeat the previous step, otherwise, h. calculate the α using the following equation: $\hat{\alpha} = {\frac{1}{n\quad p}\left( {{\sum\limits_{i = 1}^{n}{\sum\limits_{j = 1}^{c}\quad {{{X_{i} - V_{j}}}^{2}u_{j\quad i}}}} + {\vartheta {\sum\limits_{j = 1}^{c}{\sum\limits_{k = 1}^{c}{C_{j\quad k}V_{j}^{T}V_{k}}}}}} \right)}$

i. calculate the U's, for i=1 . . . n, and j=1 . . . c, using the equation: $u_{j\quad i} = \frac{K\left( {{X_{i} - V_{j}};\alpha} \right)}{\sum\limits_{k = 1}^{c}{K\left( {{X_{i} - V_{k}};\alpha} \right)}}$

j. if the condition V_(current) − V_(previous)² < ɛ

. . . is not satisfied, return to step f, otherwise check if the iteration number is less than the maximum number assigned in the first step (a); k. if the previous condition is satisfied, repeat the sequence from step e, otherwise the algorithm stops. 9.- A system according to claim 7, characterized in that it reflects the properties of a self-organizing map and where the regularization parameter

controls the smoothness level (ordering) applied to the map, being converted into a new clustering method when the value of said parameter is set to zero. 10.- A system according to claim 9, characterized in that it permits the exact Kernel width estimation used for the probability density estimation. 11.- A system according to claim 9, characterized in that it permits using any Kernel function for the probability density estimation.
 12. A system according to claim 9, characterized in that it not only permits producing a lower dimensional self-organizing map, but it also permits the direct calculation of the probability density (using equation 18).
 13. A system according to claim 7, characterized in that it permits visualization in a lower dimensionality space as well data clustering.
 14. A system according to claims 2 and 7, characterized in that it permits using any non-smoothness measure in part B of the functional, with the inclusion of the C matrices based on any form of differential operators, with any form of bondary conditions.
 15. A system according to claims 2 and 7, characterized in that it permits convex linear combination of Part A and Part B of the functional, or any equivalent monotonic transform of said combination. 